home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / library / reqtlsdv.lha / ReqTools / Glue / M2Sprint / m2sprint_glue.lha / ReqTools.mod < prev    next >
Text File  |  1992-02-13  |  4KB  |  143 lines

  1. IMPLEMENTATION MODULE ReqTools;
  2.  
  3. (*
  4. **    $Filename: libraries/reqtools.h $
  5. **    $Release: 1.0 $
  6. **
  7. **    (C) Copyright 1991 Nico François
  8. **        All Rights Reserved
  9. *)
  10.  
  11. FROM SYSTEM    IMPORT ADR, ADDRESS, STRPTR, TERMPROC;
  12. FROM Libraries IMPORT LibraryPtr, OpenLibrary, CloseLibrary;
  13. FROM Strings   IMPORT AssignStr;
  14. FROM TagItem   IMPORT TagItemPtr;
  15. FROM Tasks     IMPORT SignalSet;
  16.  
  17.  
  18. PROCEDURE CloseReqLib;
  19. BEGIN
  20.   IF ReqToolsBase # NIL THEN
  21.     CloseLibrary(LibraryPtr(ReqToolsBase));
  22.   END;
  23. END CloseReqLib;
  24.  
  25.  
  26. PROCEDURE OpenReqToolsLib() : BOOLEAN;
  27. (* Open the Requester Tools Library and return TRUE if successful. *)
  28. VAR
  29.   LibPtr : LibraryPtr;
  30. BEGIN
  31.   IF ReqToolsBase = NIL THEN
  32.     LibPtr := OpenLibrary(ADR(ReqToolsName),ReqToolsVersion);
  33.     ReqToolsBase := ReqToolsBaseRecPtr(LibPtr);
  34.     RETURN (ReqToolsBase # NIL);
  35.   END;
  36.   RETURN FALSE;
  37. END OpenReqToolsLib;
  38.  
  39.  
  40. PROCEDURE AllocRequest(type : LONGINT) : ADDRESS;
  41. BEGIN
  42.   RETURN AllocRequestA(type, NIL);
  43. END AllocRequest;
  44.  
  45.  
  46. PROCEDURE ChangeReqAttr(req : ADDRESS) : LONGINT;
  47. BEGIN
  48.   RETURN ChangeReqAttrA(req, NIL);
  49. END ChangeReqAttr;
  50.  
  51.  
  52. (*$S+*)
  53. PROCEDURE FileRequest(filereq : rtFileRequesterPtr;
  54.                       VAR filename : ARRAY OF CHAR;
  55.                       VAR directory : ARRAY OF CHAR;
  56.                       title : ARRAY OF CHAR) : BOOLEAN;
  57. BEGIN
  58.   IF FileRequestA(filereq, filename, ADR(title), NIL) THEN
  59.     AssignStr(directory, filereq^.Dir^);  (* CAUTION make sure AssignStr
  60.                                              doesn't copy 65000 chars on
  61.                                              stack *)
  62.     RETURN TRUE;
  63.   END;
  64.   RETURN FALSE;
  65. END FileRequest;
  66.  
  67.  
  68. (*$S+*)
  69. PROCEDURE EZRequest(bodyfmt : ARRAY OF CHAR; gadfmt : ARRAY OF CHAR;
  70.                     reqinfo : rtReqInfoPtr; argarray : ADDRESS) : LONGINT;
  71. BEGIN
  72.   RETURN EZRequestA(ADR(bodyfmt), ADR(gadfmt), reqinfo, argarray, NIL);
  73. END EZRequest;
  74.  
  75.  
  76. (*$S+*)
  77. PROCEDURE EZRequestTags(bodyfmt : ARRAY OF CHAR; gadfmt : ARRAY OF CHAR;
  78.                         reqinfo : rtReqInfoPtr;
  79.                         argarray : ADDRESS; taglist : TagItemPtr) : LONGINT;
  80. BEGIN
  81.   RETURN EZRequestA(ADR(bodyfmt), ADR(gadfmt), reqinfo, argarray, taglist);
  82. END EZRequestTags;
  83.  
  84.  
  85. (*$S+*)
  86. PROCEDURE vEZRequestA(bodyfmt : ARRAY OF CHAR; gadfmt : ARRAY OF CHAR;
  87.                       reqinfo : rtReqInfoPtr;
  88.                       taglist : TagItemPtr; argarray : ADDRESS);
  89. VAR
  90.   ret : LONGINT;
  91. BEGIN
  92.   ret := EZRequestA(ADR(bodyfmt), ADR(gadfmt), reqinfo, argarray, taglist);
  93. END vEZRequestA;
  94.  
  95.  
  96. (*$S+*)
  97. PROCEDURE vEZRequest(bodyfmt : ARRAY OF CHAR; gadfmt : ARRAY OF CHAR;
  98.                      reqinfo : rtReqInfoPtr; argarray : ADDRESS);
  99. BEGIN
  100.   vEZRequestA(bodyfmt, gadfmt, reqinfo, NIL, argarray);
  101. END vEZRequest;
  102.  
  103.  
  104. (*$S+*)
  105. PROCEDURE GetString(VAR buffer : ARRAY OF CHAR; maxchars : LONGINT;
  106.                     title : ARRAY OF CHAR; reqinfo : rtReqInfoPtr) : BOOLEAN;
  107. BEGIN
  108.   RETURN GetStringA(buffer, maxchars, ADR(title), reqinfo, NIL);
  109. END GetString;
  110.  
  111.  
  112. (*$S+*)
  113. PROCEDURE GetLong(VAR longvar : LONGINT; title : ARRAY OF CHAR;
  114.                   reqinfo : rtReqInfoPtr) : BOOLEAN;
  115. BEGIN
  116.   RETURN GetLongA(longvar, ADR(title), reqinfo, NIL);
  117. END GetLong;
  118.  
  119.  
  120. (*$S+*)
  121. PROCEDURE FontRequest(fontreq : rtFontRequesterPtr;
  122.                       title : ARRAY OF CHAR) : BOOLEAN;
  123. BEGIN
  124.   RETURN FontRequestA(fontreq, ADR(title), NIL);
  125. END FontRequest;
  126.  
  127.  
  128. (*$S+*)
  129. PROCEDURE PaletteRequest(title : ARRAY OF CHAR; reqinfo : rtReqInfoPtr) : LONGINT;
  130. BEGIN
  131.   RETURN PaletteRequestA(ADR(title), reqinfo, NIL);
  132. END PaletteRequest;
  133.  
  134.  
  135. PROCEDURE ReqHandler(handlerinfo : rtHandlerInfoPtr; sigs : SignalSet) : LONGINT;
  136. BEGIN
  137.   RETURN ReqHandlerA(handlerinfo, sigs, NIL);
  138. END ReqHandler;
  139.  
  140.  
  141. BEGIN
  142.   ReqToolsBase := NIL;
  143. END ReqTools.